Some embodiments described herein relate generally to overlay networks, and, in particular, to methods and apparatus for improving load balancing in an overlay network.
In some known overlay networks, data packets are encapsulated before being tunneled from a source device to a destination device. The encapsulated packet headers typically include only information associated with the source device and the destination device, which is common across all encapsulated packets between the same pair of a source device and a destination device. Therefore, such encapsulated packet headers are typically not used for load balancing at a switching or routing device. Such a problem is further aggravated in a virtualization environment for some known overlay networks, where a source device tunnels all the traffic originated from local virtual machines and hides the source and destination virtual machine identification information from the tunneled packet headers. As a result, traffic originated from different virtual machines of a common source device and destined to different virtual machines of a common destination device is typically sent via a same path.
Accordingly, a need exists for tunneling methods and apparatus that can achieve a better load balancing in overlay networks.